#pragma once

/// Helper class to print the code in a nice way
class CTextPrinter
{
public:
	CTextPrinter();

	/// Clear text
	void Clear();

	/// Indent one level
	void Indent();

	/// Unindent
	void Unindent();

	/// Write text directly
	void Write( const char* txt );

	/// Write formated text
	void Writef( const char* txt, ... );

	/// Save to file
	bool SaveToFile( const std::string& outputFilePath, bool& wasUpToDate ) const;

protected:
	std::string				m_buf;
	int						m_indentLevel;
};